package main

import (
	"fmt"
	"os"
	"strconv"
	"log"
	"reflect"
	"strings"
)

func main() {
	//var s, sep string
	//读取命令行参数第一种形式
	// for i := 1; i < len(os.Args); i++ {
	// 	s += sep + os.Args[i]
	// 	sep = " "
	// }
	//读取命令行参数第二种形式
	//for k, v := range os.Args {
	//	if k == 0 {
	//		continue
	//	}
	//	s += sep + v
	//	sep = " "
	//}
	//fmt.Println("输入的参数是:", s)
	//读取命令行参数第三种形式
	fmt.Println(os.Args[1:])
	//读取命令行参数第四种形式
	fmt.Println(strings.Join(os.Args[1:],"-"))
	//打印命令行参数index value 每个index,value显示一行
	for k,v :=range os.Args {
		fmt.Println(k,"-",v)
	}
	num, err := strconv.ParseInt(os.Args[1], 0, 64);
	if err != nil {
		log.Fatalf("命令行第一个参数转换数字失败:%s", err)
	}
	var count int64
	log.Println(reflect.TypeOf(num))
	var i int64
	for ; i < num; i++ {
		count +=num
	}
	log.Println(count)
}
